var seqGnan=false;  //判断应用数据是否更新顺序
$(document).ready(function () {
    $('#jlzt').lc_switch("启用","停用");  //初始化switch开关
    Common.GetSjyzy("yylx","yylx");
    queryAppByYydm();
    $("ul li a").click(function () {
        if ($('#yydm').val() == null || $('#yydm').val() == "") {
            LayerWn.showAlert('请先保存应用信息');
            return false;
        }
    });
});

/**
 * 数据校验
 */
function validate() {
    var yydm = $.trim($("#yydm").val());
    if(yydm == ''){
        LayerWn.showAlert('应用代码不能为空');
        return false;
    }
    var yymc = $.trim($("#yymc").val());
    if (yymc == '') {
        LayerWn.showAlert('应用名称不能为空');
        return false;
    }

    var yyscs = $.trim($("#yyscs").val());
    if (yyscs == '') {
        LayerWn.showAlert('应用厂商不能为空');
        return false;
    }
    var yybbh = $.trim($("#yybbh").val());
    if (yybbh == '') {
        LayerWn.showAlert('版本号不能为空');
        return false;
    }
    var yylx = $.trim($("#yylx").val());
    if(yylx == ''){
      LayerWn.showAlert('应用类型不能为空');
      return false;
    }
    return true;
}

/**
 * 保存
 */
function save() {
   /* if (!validate()){
        return;
    }*/

    if (validate()){


    $("#btnSave").attr('disabled', true);
    var url = "application/save";
    var yydm = Common.GetRequest().yydm;
    if (yydm) {
        url = "application/update";
    }

    var data = $("form").serializeJson();

    if($("#jlzt_switch").hasClass("lcs_on")){
        data.jlzt='0';
    }else if ( $("#jlzt_switch").hasClass("lcs_off")){
        data.jlzt='1';
    }
    var formJSON = JSON.stringify(data);

    $.ajax({
        type: "POST",
        contentType: 'application/json',
        dataType: "json",
        url: url,
        data: formJSON,
        success: function (jsonData) {
            $("#btnSave").removeAttr('disabled');
            if (jsonData.code == 200) {   //保存成功
                LayerWn.showSucAlert('保存成功');
                for(var k=0;k<parent.frames.length;k++){
                    if(parent.frames[k].frameElement.src.indexOf("plat-application.html")!=-1)
                        parent.frames[k].queryAppList();
                }

                $('#yydm').val(jsonData.yydm);
                showTable({});
                //$("#sjTab")[0].click();
                setTimeout(function () {
                    parent.layer.closeAll();
                }, 1000);
            } else {
                LayerWn.showFailAlert(jsonData.msg);
            }
        }
    });
    }
}

/**
 * 根据应用代码查询应用信息
 */
function queryAppByYydm() {
    var yydm = Common.GetRequest().yydm;   //应用代码

    $("#yydm").removeAttr("readonly",false);
    if (yydm) {
        $("#yydm").attr("readonly",true);
        $.ajax({
            type: "GET",
            dataType: "json",
            url: "application/queryApp/" + yydm,
            success: function (jsonData) {
                if (jsonData.code == 200) {   //查询成功
                    $('#appForm').populateForm(jsonData.app);

                    var jlzt=jsonData.app.jlzt;
                    if(jlzt=='0'){
                        $("#jlzt_switch").removeClass('lcs_off').addClass('lcs_on');
                    }else if(jlzt=='1'){
                        $("#jlzt_switch").removeClass('lcs_on').addClass('lcs_off');
                    }

                    initOtherStyle();
                    querySjqxByYydm();
                } else {

                }
            }
        });
    }
    else {
        $('#yydm').val(yydm);
        initOtherStyle();
    }

}

/**
 * 根据应用代码查询数据权限信息
 */
var gnanList;
function querySjqxByYydm() {
    var yydm = $('#yydm').val();
    if (yydm) {
        var queryParms = {yydm:yydm};
        $.ajax({
            type: "POST",
            dataType: "json",
            url: "application/querySjqx",
            data:queryParms,
            success: function (jsonData) {
                if (jsonData.code == 200) {   //查询成功
                    gnanList=jsonData.sjqx;
                    showTable(gnanList);
                } else {

                }
            }
        });
    }
    else {
        //禁用数据权限TAB $('#tab-2')
        showTable({});
    }

}

function showTable(jsonData) {
    var columnList = [
        {
            field: 'sjbm',
            title: '应用数据编码',
            align: 'left',
           halign: 'center',
            valign: 'middle',
            width: '25%'
        },
        {
            field: 'sjmc',
            title: '应用数据名称',
            align: 'left',
           halign: 'center',
            valign: 'middle',
            width: '25%'
        },
        {
            field: 'ms',
            title: '应用数据描述',
            align: 'left',
           halign: 'center',
            valign: 'middle',
            width: '30%'
        },
        {
            field: 'sjdm',
            title: '操作',
            align: 'center',
            halign: 'center',
            valign: 'middle',
            width: '20%',
            formatter: function (value, row) {
                return '<div>' +
                    '<a class="red" href="#" onclick="delSjqx(\'' + value + '\')">' +
                    '<i class="btn-del-wn" style="font-size: 125%" title="删除"></i></a>' +
                    '<a class="red" href="#" onclick="doSeqUpGnan(\'' + value + '\')">' +
                    '<svg class="icon" aria-hidden="true"  style="width: 22px;"><title>上移</title><use xlink:href="#icon-shangyi1"></use></svg></a>'+
                    '<a class="red" href="#" onclick="doSeqDownGnan(\'' + value + '\')">' +
                    '<svg class="icon" aria-hidden="true"  style="width: 22px;"><title>下移</title><use xlink:href="#icon-xiayi1"></use></svg></a>'+

                    '</div>'
            }
        }
    ];

    $("#sjqxList").bootstrapTable('destroy').bootstrapTable({
        striped: true,                      //是否显示行间隔色
        cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
        pagination: false,                   //是否显示分页（*）
        sortable: false,                     //是否启用排序
        clickToSelect: true,                //是否启用点击选中行
        //sidePagination: "client",
        height:300,
        onClickRow: function (row, element, field) {
            $('.info').removeClass('info');//去除之前选中的行的，选中样式
            $(element).addClass('info');//添加当前选中的 success样式用于区别
            selectSjqx(row.sjdm, row.sjmc, row.ms,row.sjbm);  // 单击表格事件
        },
        //每页的记录行数（*）
        pageSize: 10,
        //可供选择的每页的行数（*）
        pageList: [10, 25, 50, 100],
        data: jsonData,
        columns: columnList
    });
}

/**
 *
 * */
function selectSjqx(sjdm, sjmc, ms,sjbm) {
    $('#sjdm').val(sjdm);
    $('#sjmc').val(sjmc);
    $('#ms').val(ms);
    $('#sjbm').val(sjbm);
}


/**
 * 界面其他样式加载
 */
function initOtherStyle() {
    $('.i-checks').iCheck({
        checkboxClass: 'icheckbox_square-green',
        radioClass: 'iradio_square-green',
    });
}





(function ($) {
    $.fn.serializeJson = function () {
        var serializeObj = {};
        var array = this.serializeArray();
        var str = this.serialize();
        $(array).each(function () {
            if (serializeObj[this.name]) {
                if ($.isArray(serializeObj[this.name])) {
                    serializeObj[this.name].push(this.value);
                } else {
                    serializeObj[this.name] = [serializeObj[this.name], this.value];
                }
            } else {
                serializeObj[this.name] = this.value;
            }
        });
        return serializeObj;
    };
})(jQuery);

/**
 * 取消按钮
 */
function cancel() {
    parent.layer.closeAll();
}


/***********************数据权限部分**********************/

//数据校验
function validateSjqx() {
    var yydm = $('#yydm').val();
    var sjmc = $.trim($("#sjmc").val());
    var sjbm = $.trim($("#sjbm").val());
    if (sjmc == '') {
        LayerWn.showAlert('应用数据名称不能为空');
        return false;
    }
    if (sjbm == '') {
        LayerWn.showAlert('应用数据编码不能为空');
        return false;
    }

    var sjdm = $.trim($("#sjdm").val());//新增时检验，修改时不检验
    if (sjdm == null || sjdm == '') {
        var queryParams = {sjbm:sjbm,yydm:yydm};
        if(querySjqx(queryParams)){
            LayerWn.showAlert('应用数据编码已存在');
            return false;
        }
    }
    return true;
}


/**
 * 查询应用
 */
var bo;
function querySjqx(queryParams){

    $.ajax({
        type: "POST",
        dataType: "json",
        async: false,
        url: "application/querySjqx",
        data:queryParams,
        success: function (jsonData) {
            if (jsonData.code == 200) {
                if(jsonData.sjqx.length>0){
                    bo= true;
                }else{
                    bo= false;
                }
            }
        }
    });
    return bo;
}

/**
 * 保存数据权限
 */
function saveSjqx() {
    if (!validateSjqx())
        return;

    $("#btnSaveSjqx").attr('disabled', true);
    var url = "application/saveSjqx";
    var sjdm = $('#sjdm').val();
    if (sjdm) {
        url = "application/updateSjqx";
    }

    var data = $("form").serializeJson();
    var formJSON = JSON.stringify(data);
    $.ajax({
        type: "POST",
        contentType: 'application/json',
        dataType: "json",
        url: url,
        data: formJSON,
        success: function (jsonData) {
            $("#btnSaveSjqx").removeAttr('disabled');
            if (jsonData.code == 200) {   //保存成功
                LayerWn.showSucAlert('保存成功');
                $('#sjdm').val(jsonData.sjdm);
                clearSjqx();
                querySjqxByYydm();
            } else {

            }
        }
    });
}


function updateGnanList(){
    if(seqGnan){//若顺序拖动过则进行排序字段更新

        //修改所有菜单顺序字段
        for(var i=0;i<gnanList.length;i++){
            gnanList[i].mgorder=i+1;
        }

        var gnanListData = JSON.stringify(gnanList);
        $.ajax({
            type: "POST",
            contentType: 'application/json;charset=UTF-8',
            async: false,
            dataType: "json",
            url: "application/updateYysjList",
            data: gnanListData,
            success: function (jsonData) {
                if (jsonData.code == 200) {   //查询成功
                    seqGnan=false;
                    var sjmc = $.trim($("#sjmc").val());
                    var sjbm = $.trim($("#sjbm").val());
                    if((sjmc == null || sjmc == '') && (sjbm == null || sjbm == '')){ //判断是有有新增或者修改，没有则提示成功
                        LayerWn.showSucAlert("保存成功");
                    }else{
                        saveSjqx();
                    }
                }else {
                    LayerWn.showFailAlert(jsonData.msg);
                }
            }
        });
    }else{
        seqGnan=false;
        var sjmc = $.trim($("#sjmc").val());
        var sjbm = $.trim($("#sjbm").val());
        if((sjmc == null || sjmc == '') && (sjbm == null || sjbm == '')){ //判断是有有新增或者修改，没有则说明既没有拖动顺序有没有新增和编辑
            LayerWn.showAlert("请操作后保存");
        }else{
            saveSjqx();
        }
    }
}


/**
 * 删除数据权限
 */
function delSjqx(sjdm) {
    LayerWn.showConfirm("确定要删除吗？", function () {
        $.ajax({
            type: "DELETE",
            contentType: 'application/json',
            dataType: "json",
            url: "application/delSjqx/" + sjdm,
            success: function (jsonData) {
                if (jsonData.code == 200) {
                    //layer.msg('删除成功', {icon: 1});
                    LayerWn.showSucAlert("删除成功");
                    clearSjqx();
                    querySjqxByYydm();
                } else {

                }
            }
        });
    });
}



function doSeqUpGnan(lsh) {

    for(var i=0;i<gnanList.length;i++){
        //当是操作行且不是第一个行时进行上移操作
        if(lsh== gnanList[i].sjdm&&i>0){
            //修改页面的排列顺序并重新渲染
            var temp = gnanList[i];
            gnanList[i]=gnanList[i-1];
            gnanList[i-1]=temp;
            break;
        }
    }

    seqGnan=true;
    showTable(gnanList);
}

/**
 * //调整顺序
 */
function doSeqDownGnan(lsh) {

    for(var i=0;i<gnanList.length;i++){
        //当是操作行且不是最后行时进行下移操作
        if(lsh== gnanList[i].sjdm&&i<gnanList.length-1){
            //修改页面的排列顺序并重新渲染
            var temp = gnanList[i];
            gnanList[i]=gnanList[i+1];
            gnanList[i+1]=temp;
            break;
        }
    }
    seqGnan=true;
    showTable(gnanList);
}


/**
 * 清空数据权限
 */
function clearSjqx() {
    $('#sjdm').val(null);
    $('#sjmc').val("");
    $('#ms').val("");
    $('#sjbm').val("");
}

/**导入图片*/
function import_inputFile(inputId) {
    $(inputId).click();
}

/**上传图片*/
function uploadImg(inputId) {
    var data = new FormData();
    data.append('fileName', $(inputId).get(0).files[0]);
    data.append('tableName', "SYS_YYZC");
    data.append('colName', inputId.substring(1,inputId.length-4).toUpperCase());
    data.append('id', "YYDM");
    var yydm = Common.GetRequest().yydm;
    data.append('idValue', yydm);
    $(inputId).val('');
    $.ajax({
        type: "POST",
        contentType: 'multipart/form-data',
        data: data,
        cache: false,
        processData: false,
        contentType: false,
        url: "commonapi/saveFileToDb",
        success: function (jsonData) {
            if (jsonData.code == 200) {
                var fileName = jsonData.fileName;
                // $("#imgJg").attr("src", "commonapi/showFile?fileName=" + fileName);
                $(inputId+"_mc").val(fileName);
            } else {
                LayerWn.showFailAlert('图片上传有误，请重试');}
            }
    });
}